//package com.example.xhandroidexample.systemapi.sqlite
//
//import android.content.ContentValues
//import android.content.Context
//import android.database.sqlite.SQLiteDatabase
//import android.database.sqlite.SQLiteOpenHelper
//import android.util.Log
//
//class DatabaseHelper(context: Context) : SQLiteOpenHelper(context, DB_NAME,null, DB_VERSION) {
//    companion object {
//        val DB_NAME = "pipixia.db";
//        val DB_VERSION = 3;
//        val TAG = "DatabaseHelper";
//    }
//
//    override fun onCreate(db: SQLiteDatabase?) {
//        Log.d(TAG, "onCreate: ")
//        createTable(db)
//    }
//
//    override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
//        if (oldVersion < newVersion) {
//            Log.d(TAG, "onUpgrade: newVersion")
//            modifyProductTable(db)
//            createActivityTable(db)
//            createUserTable(db)
//            createOrderTable(db)
//        }
//    }
//
//    override fun onDowngrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
//        super.onDowngrade(db, oldVersion, newVersion)
//    }
//
//    /*
//    ALTER TABLE 表名 ADD COLUMN 列名 数据类型
//     */
//    private fun modifyProductTable(db: SQLiteDatabase?) {
//        val sql = "ALTER TABLE product ADD COLUMN user_remark TEXT NOT NULL DEFAULT '';".trimIndent()
//        db?.execSQL(sql)
//    }
//
//    private fun createTable(db: SQLiteDatabase?) {
//        createProductTable(db)
//    }
//
//    private fun createOrderTable(db: SQLiteDatabase?) {
//        Log.d(TAG, "createOrderTable: ")
//        val sql = """
//            CREATE TABLE orders(
//                id INTEGER PRIMARY KEY AUTOINCREMENT,
//                order_id VARCHAR(255) NOT NULL,
//                order_info TEXT NOT NULL,
//                state INTEGER UNSIGNED NOT NULL,
//                sender_uid INTEGER UNSIGNED NOT NULL
//            );
//            """.trimIndent()
//        db?.execSQL(sql)
//    }
//
//    private fun createUserTable(db: SQLiteDatabase?) {
//        Log.d(TAG, "createUserTable: ")
//        val sql = """
//            CREATE TABLE user(
//                id INTEGER PRIMARY KEY AUTOINCREMENT,
//                account VARCHAR(255) NOT NULL,
//                psw VARCHAR(100) NOT NULL,
//                type INTEGER UNSIGNED NOT NULL,
//                name VARCHAR(100) NOT NULL,
//                phone VARCHAR(100) NOT NULL,
//                balance INTEGER UNSIGNED NOT NULL
//            );
//            """.trimIndent()
//        db?.execSQL(sql)
//    }
//
//    private fun createActivityTable(db: SQLiteDatabase?) {
//        Log.d(TAG, "createActivityTable: ")
//        val sql = """
//            CREATE TABLE activity(
//                id INTEGER PRIMARY KEY AUTOINCREMENT,
//                activity_description TEXT NOT NULL,
//                activity_limit INTEGER UNSIGNED NOT NULL,
//                activity_op INTEGER UNSIGNED NOT NULL
//            );
//            """.trimIndent()
//        db?.execSQL(sql)
//    }
//
//    private fun createProductTable(db: SQLiteDatabase?) {
//        Log.d(TAG, "createProductTable: ")
//        val sql = """
//            CREATE TABLE product(
//                id INTEGER PRIMARY KEY AUTOINCREMENT,
//                product_name VARCHAR(255) NOT NULL,
//                create_date VARCHAR(100) NOT NULL,
//                product_price INTEGER UNSIGNED NOT NULL,
//                product_type INTEGER UNSIGNED NOT NULL,
//                product_size INTEGER  UNSIGNED NOT NULL,
//                product_description TEXT,
//                user_remark TEXT NOT NULL DEFAULT ''
//            );
//            """.trimIndent()
//        db?.execSQL(sql)
//    }
//
//    fun search(context: Context) {
//        //创建游标对象
//        val cursor = DatabaseHelper(context).readableDatabase.query(
//            "product",
//            arrayOf(
//                "id",
//                "product_name",
//                "create_date",
//                "product_price",
//                "product_type",
//                "product_size",
//                "product_description"
//            ),
//            null,
//            null,
//            null,
//            null,
//            null
//        )
//
//        //利用游标遍历所有数据对象
//        while (cursor.moveToNext()) {
//            val id = cursor.getInt(cursor.getColumnIndex("id"))
//            val productName = cursor.getString(cursor.getColumnIndex("product_name"))
//            val createDate = cursor.getString(cursor.getColumnIndex("create_date"))
//            val productPrice = cursor.getInt(cursor.getColumnIndex("product_price"))
//            val productType = cursor.getInt(cursor.getColumnIndex("product_type"))
//            val productSize = cursor.getInt(cursor.getColumnIndex("product_size"))
//            val productDescription = cursor.getString(cursor.getColumnIndex("product_description"))
//            Log.d(TAG, "search: [$id,$productName,$createDate,$productPrice,$productType,$productSize,$productDescription]")
//        }
//        // 关闭游标，释放资源
//        cursor.close()
//    }
//
//    fun delete(context: Context) {
//        //根据id删除
//        val writableDatabase = DatabaseHelper(context).writableDatabase
//        val delete = writableDatabase.delete("product", "id=?", arrayOf("2"))
//        Log.d(TAG, "delete: $delete")
//        writableDatabase.close()
//    }
//
//    fun update(context: Context) {
//        //根据id修改描述
//        val writableDatabase = DatabaseHelper(context).writableDatabase
//        val values = ContentValues()
//        values.put("product_description","我是修改之后的描述！！！")
//        val update = writableDatabase.update("product", values, "id=?", arrayOf("3"))
//        Log.d(TAG, "update: $update")
//        writableDatabase.close()
//    }
//
//    fun add(context: Context) {
//        val values = ContentValues()
//        values.put("product_name", "小辣条")
//        values.put("create_date", "2020-12-12")
//        values.put("product_price", 5)
//        values.put("product_type", 1)
//        values.put("product_size", 1000)
//        values.put("product_description", "好吃的辣条哦")
//        //数据库执行插入命令
//        //数据库执行插入命令
//
//        //创建存放数据的ContentValues对象
//        val writableDatabase = DatabaseHelper(context).writableDatabase
//        Log.d(TAG, "add: ${writableDatabase.hashCode()}")
//        writableDatabase.insert("product", null, values)
//        writableDatabase.close()
//
//        DBManagerHelper(context).insert(values)
//    }
//}